| PROGRAMOWANIE |  Kurs Object Pascala cz.IV   

Sta│e

Sta│e s▒ podobne do zmiennych z tym, ┐e przypisanie im warto╢ci nastΩpuje odrazu. Sta│e deklaruje siΩ przy u┐yciu s│owa const:

procedure TForm1.Button1Click(Sender: TObject);

const

AppName = 'M≤j Program 1.0';

begin

ShowMessage(AppName);

end;

Nawet nie musisz podawaµ typu zmiennej, ale mo┐esz zrobiµ tak...

const

AppName = 'M≤j Program 1.0';

V = 1.0;

Build = 22;

...albo tak:

const

AppName : PCHar = 'M≤j Program 1.0';

V : Currency = 1.0;

Build : Byte = 22;

W tym wypadku przypisany zosta│ typ danych przypisanych.

PΩtle

 

PΩtle s▒ blokiem, kt≤ry jest wykonywany do czasu, w kt≤rym zostanie spe│niony warunek jej zako±czenia. Istniej▒ trzy rozdziaje pΩtli.

PΩtla REPEAT

Ci, kt≤rzy programowali w Turbo Pascalu nie bΩd▒ mieli z tym problem≤w. Ot≤┐ pΩtla repeat wykonuje okre╢lon▒ czynno╢µ do p≤ki nie napotka na warunek jej zako±czenia. Oto przyk│ad ( umie╢µ na formie komponent Memo ):

procedure TForm1.Button1Click(Sender: TObject);

var

I : Integer;

begin

I := 0; // domyslna wartosc

repeat

Inc(I); // zwieksz o jeden

Memo1.Lines.Add('Wykonanie nr: ' + IntToStr(i));

until i = 100;

Close; // zamknij program

end;

Na formie umieszczony zosta│ komponent typu Memo ( ponownie odsy│am do kursu Delphi: www.programowanie.of.pl ). Na pocz▒tku do zmiennej, kt≤ra zosta│a wcze╢niej zadeklarowana zostanie przypisana warto╢µ domy╢lna, czyli cyfra 0. NastΩpnie nastΩpuje rozpoczΩcie pΩtli ( zauwa┐, ze po s│owie repeat brak jest ╢rednika! ), zwiΩkszenie warto╢ci zmiennej typu Integer o jeden. [ Polecenie Inc znaczy to samo co: X := X + 1 ]. Do zmniejszania warto╢ci o jeden s│u┐y polecenie Dec. Jeszcze pare s│≤w o poleceniu Dec i Inc. Istnieje mo┐liwo╢µ ustawienia zakresu o kt≤ry warto╢µ ta ma byµ zwiΩkszana:

Inc(i, 2);

Takie co╢ powoduje zwiΩkszanie zmiennej i nie o jeden, ale o dwa oczka....

No, ale pow≤µmy do naszej pΩtli. Warunek zako±czenia pΩtli sprawdzany jest PO jej wykonaniu, a nastΩpuje to za pomoc▒ s│owa until. Po tym s│owie nastΩpuje wpisanie warto╢ci, kt≤ra ma spowodowaµ zako±czenie pΩtli. Innymi s│owy program ma wykonywaµ pΩtle dop≤ty, dok≤pki zmienna i nie osi▒gnie warto╢ci 100.

Aha, no i operator + kt≤ry zosta│ zastosowany w tym przyk│adzie s│uzy do po│▒czenia dw≤ch instrukcji....

PΩtla FOR

Tej pΩtli u┐ywaj zawsze gdy nie dok│adnie wiesz kiedy ma siΩ ona zako±czyµ. Tak samo jak pΩtla powy┐sza wykonuje ona okre╢lon▒ czynno╢µ. Oto zaprezetowanie dzia│ania pΩtli, kt≤ry da taki sam efekt jak w powy┐szym przyk│adzie:

procedure TForm1.Button1Click(Sender: TObject);

var

I : Integer;

begin

for I := 0 to 100 do

begin

Memo1.Lines.Add('Wykonanie nr: ' + IntToStr(i));

end;

end;

TrochΩ mniej kodu to wymaga, prawda? PΩtla rozpoczyna sw≤j ┐ywot za pomoc▒ s│owa for. NastΩpnie przypisanie pocz▒tkowej warto╢ci zmienej i. Zmienna ta mo┐e wynosiµ dowoln▒ warto╢µ. NastΩpnie za s│owem to nastΩpuje wpisanie warto╢ci do kt≤rej pΩtla zostanie wykonana. No i za s│owem do begin nastΩpuje wpisanie w│a╢ciwego bloku wykonywanej pΩtli.

PΩtla WHILE

Ta pΩtla jest bardzo podobna do repeat. R≤┐ni siΩ tylko tym, ┐e warunek jej zako±czenia sprawdzany jest na samym pocz▒tku, a nie jak w pΩtli repeat na pocz▒tku.

procedure TForm1.Button1Click(Sender: TObject);

var

I : Integer;

begin

I := 0;

while I < 100 do

begin

Inc(i);

Memo1.Lines.Add('Uruchomienie nr: ' + IntToStr(i));

end;

end;

W tym wypadku dok≤ki zmienna i nie osi▒gnie warto╢ci 100 ( bΩdzie mniejsza ni┐ 100 ) pΩtla bΩdzie kontynuowana.

 

Autor:
Adam Boduch
boduch@poland.com

Kurs udostΩpni│ :
http://www.programowanie.of.pl



                    
ARCHIWALIA | WEBHELP.PL | REDAKCJA                  POPRZEDNIA STRONA | SPIS TREªCI | NAST╩PNA STRONA

CONTENTS COPYRIGHT © 2000 - 2001, KRZYSZTOF DZIEWO╤SKI. ALL RIGHTS RESERVED.